11185. Тернарная система счисления
Имеется целое число в десятичной системе счисления.
Необходимо найти его представление в троичной системе счисления.
Вход. Содержит
не более 100 тестов. Каждая строка является отдельным тестом и содержит
неотрицательное целое число n (n < 1000000001). Последняя строка
содержит отрицательное число и не обрабатывается.
Выход. Для каждого входного значения n вывести его троичное представление.
10
100
1000
-1
101
10201
1101001
элементарные вычисления
Достаточно реализовать
преобразование числа из десятичной в троичную систему счисления делением в
столбик. Отдельно следует обработать случай n
= 0.
Читаем входное значение n, пока оно не отрицательно. Если оно
равно 0, то полагаем результат s
равным “0”.
while(scanf("%d",&n),
n >= 0)
{
if (!n) s =
"0"; else
{
Делим в цикле число n на 3, пока оно не станет равным 0.
Запоминаем остатки от деления n на 3 в строке s в виде символов. Обращаем стоку s при помощи функции reverse и выводим ее.
for(s= "";
n > 0; n /= 3) s += n%3 + '0';
reverse(s.begin(),s.end());
}
printf("%s\n",s.c_str());
}